AVIF image serializer (muxer)
Minimal writer for AVIF header structure. This is lean, safe-Rust alternative to libavif. It creates the jungle of MPEG/HEIF/MIAF/ISO-BMFF "boxes" as appropriate for AVIF files. Supports alpha channel embedding.
Compatible with decoders in Chrome 85+, libavif v0.8.1, and Firefox 92. It's used in cavif and other encoders.
Together with rav1e, it allows pure-Rust AVIF image encoding.
Requirements
- Latest stable version of Rust.
Usage
-
Compress pixels using an AV1 encoder, such as rav1e. libaom works too.
-
Call
avif_serialize::serialize_to_vec(av1_data, None, width, height, 8)
See ravif
crate sources for example usage.